//package com.yunhe.device.service.device;
//
//import com.yunhe.common.model.PageParam;
//import com.yunhe.device.domain.device.Terminal;
//import com.yunhe.common.exception.ArgumentErrorException;
//import com.yunhe.common.exception.ObjectNotFoundException;
//import com.yunhe.common.exception.UniqueConstraintsException;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.List;
//
///**
// * 端子Service
// * @desc 端子服务类定义
// * @author liuronglei
// */
//public interface TerminalService {
//
//    /**
//     * 新增端子
//     * @param terminal 端子
//     */
//    @Transactional
//    Terminal createTerminal(Terminal terminal)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 批量新增端子
//     * @param terminalList 端子列表
//     */
//    @Transactional
//    Iterable<Terminal> createTerminal(List<Terminal> terminalList)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 根据id删除端子
//     * @param terminalId 端子ID
//     */
//    @Transactional
//    void deleteTerminal(Long terminalId);
//
//    /**
//     * 根据代码删除端子
//     * @param code 代码
//     */
//    @Transactional
//    Long deleteTerminalByCode(Long code);
//
//    /**
//     * 更新端子
//     * @param terminal 要更新的端子对象
//     */
//    @Transactional
//    Terminal updateTerminal(Terminal terminal)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 更新端子
//     * @param terminalId 端子ID
//     * @param code 代码
//     * @param devCode 设备代码
//     * @param connectivityNodeCode 连接节点代码
//     */
//    @Transactional
//    Terminal updateTerminal(Long terminalId,
//                            Long code,
//                            Long devCode,
//                            Long connectivityNodeCode)
//            throws ArgumentErrorException, ObjectNotFoundException, UniqueConstraintsException;
//
//    /**
//     * 根据ID获得端子对象
//     * @param terminalList 端子ID
//     */
//    Terminal findByTerminalId(Long terminalList);
//
//    /**
//     * 根据代码获得端子对象
//     * @param code 代码
//     */
//    Terminal findByCode(Long code);
//
//    /**
//     * 获得所有端子对象
//     * @param pageParam 分页对象
//     */
//    Iterable<Terminal> findTerminals(PageParam pageParam);
//
//}
